#ifndef _VGPLABEL_H_
#define _VGPLABEL_H_

#include "cocos2d.h"

class VGPLabel
{
protected:
	static VGPLabel* instance;

public:
	static VGPLabel* getInstance();	

	/*
	----------------Create a label with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:	
	@param zOrder		Z order for drawing priority. Default 0
    @param tag			A interger to identify the node easily. Default -1		
	*/
	cocos2d::CCLabelTTF* createLabel( int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment, int zOrder, int tag );

	/*
	----------------Create a label with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:	
	@param zOrder	   
	*/
	cocos2d::CCLabelTTF* createLabel( int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment, int zOrder );

	/*
	----------------Create a label with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:			
	*/
	cocos2d::CCLabelTTF* createLabel( int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment );

	/*
	----------------Create a label with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:			
	*/
	cocos2d::CCLabelTTF* createLabel( int stringID, char *fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, cocos2d::CCTextAlignment hAlignment );

	/*
	----------------Create a label with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fontName:	
	@param fontSize:		
	@param position:			
	*/
	 cocos2d::CCLabelTTF* createLabel( int stringID, char *fontName, float fontSize, cocos2d::CCPoint position );

	 /*
	----------------Add a label with params-------------------------------
	@param layer:		layer contain label
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:	
	@param zOrder		Z order for drawing priority. Default 0
    @param tag			A interger to identify the node easily. Default -1		
	*/
	void addLabel( cocos2d::CCLayer* layer, int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment, int zOrder, int tag );

	/*
	----------------Add a label with params-------------------------------
	@param layer:		layer contain label
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:	
	@param zOrder	   
	*/
	void addLabel( cocos2d::CCLayer* layer, int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment, int zOrder );

	/*
	----------------Add a label with params-------------------------------
	@param layer:		layer contain label
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:	
	@param vAlignment:			
	*/
	void addLabel( cocos2d::CCLayer* layer, int stringID, char* fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, 
								cocos2d::CCTextAlignment hAlignment, cocos2d::CCVerticalTextAlignment vAlignment );

	/*
	----------------Add a label with params-------------------------------
	@param layer:		layer contain label
	@param stringID:	
	@param fontName:	
	@param fontSize:	
	@param dimensions:	
	@param position:	
	@param hAlignment:			
	*/
	void addLabel( cocos2d::CCLayer* layer, int stringID, char *fontName, float fontSize,
								cocos2d::CCSize dimensions, cocos2d::CCPoint position, cocos2d::CCTextAlignment hAlignment );

	/*
	----------------Add a label with params-------------------------------
	@param layer:		layer contain label
	@param stringID:	
	@param fontName:	
	@param fontSize:		
	@param position:		
	*/
	 void addLabel( cocos2d::CCLayer* layer, int stringID, char *fontName, float fontSize, cocos2d::CCPoint position );

	 /*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param alignment:	
	@param zOrder		Z order for drawing priority. Default 0
    @param tag			A interger to identify the node easily. Default -1		
	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset, int zOrder, int tag );

	 /*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param alignment:	
	@param imageOffset:	image offset
	@param zOrder		Z order for drawing priority. Default 0  
	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset, int zOrder );

	 /*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param alignment:		
	@param imageOffset:	image offset

	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset );

	 /*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:		
	@param position:
	@param alignment:		
	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment );

	/*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, float width, cocos2d::CCPoint position );

	/*
	----------------Create a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param position:
	*/
	cocos2d::CCLabelBMFont* createLabelBMFont( int stringID, char* fntFile, cocos2d::CCPoint position );

	 /*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param alignment:	
	@param imageOffset:	image offset
	@param zOrder		Z order for drawing priority. Default 0
    @param tag			A interger to identify the node easily. Default -1		
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset, int zOrder, int tag );

	 /*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param alignment:	
	@param imageOffset:	image offset
	@param zOrder		Z order for drawing priority. Default 0   
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset, int zOrder );

	 /*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param imageOffset:	image offset
	@param alignment:		
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment, cocos2d::CCPoint imageOffset );

	 /*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:
	@param imageOffset:	image offset
	@param alignment:		
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, float width, cocos2d::CCPoint position, cocos2d::CCTextAlignment alignment );

	 /*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file
	@param width:	
	@param position:		
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, float width, cocos2d::CCPoint position );

	/*
	----------------add a label's font mapping with params-------------------------------
	@param layer:		layer contain animation
	@param stringID:	
	@param fntFile:		fnt file	
	@param position:		
	*/
	void addLabelBMFont( cocos2d::CCLayer* layer, int stringID, char* fntFile, cocos2d::CCPoint position );
};


#endif